package com.xinzhidi.web.controlset.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinzhidi.common.annotation.Excel;
import com.xinzhidi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;


/**
 * 平衡调控数据设置 data_set
 *
 * @author cx
 * @date 2023-06-27
 */
@ApiModel(value = "平衡调控数据设置对象")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("control_set")
public class ControlSet extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "类型（0：小区  1：楼栋  2：单元 3：住户）")
    private String type;

    @ApiModelProperty(value = "小区id")
    @Excel(name = "小区id")
    private Long plotId;

    @ApiModelProperty(value = "楼栋id")
    @Excel(name = "楼栋id")
    private Long buildId;

    @ApiModelProperty(value = "单元id")
    @Excel(name = "单元id")
    private Long unitId;

    @ApiModelProperty(value = "住户id")
    private Long householdId;

    @ApiModelProperty(value = "调控方法（1：手动调控  2：自动调控）")
    @Excel(name = "调控方法", readConverterExp = "1=：手动调控,2=：自动调控")
    private String regulationMethod;

    @ApiModelProperty(value = "调控策略:1 回水温度 2 室内温度 3 供回水平均温度 4 流量 5 热量")
    @Excel(name = "调控策略")
    private String controlStrategy;

    @ApiModelProperty(value = "优先级（1：楼栋  2：单元）")
    @Excel(name = "优先级", readConverterExp = "1=：楼栋,2=：单元")
    private Integer priority;

    @ApiModelProperty(value = "楼栋阀门默认开度")
    @Excel(name = "楼栋阀门默认开度")
    private Integer buildingValveOpen;

    @ApiModelProperty(value = "单元阀门默认开度")
    @Excel(name = "单元阀门默认开度")
    private Integer unitValveOpen;

    @ApiModelProperty(value = "住户阀门默认开度")
    @Excel(name = "住户阀门默认开度")
    private Integer householdValveOpen;

    @ApiModelProperty(value = "阀门调整步进值")
    @Excel(name = "阀门调整步进值")
    private Integer stepValue;

    @ApiModelProperty(value = "回水温度目标值")
    @Excel(name = "回水温度目标值")
    private BigDecimal returnWaterTemperature;

    @ApiModelProperty(value = "回水温度目标值波动值")
    @Excel(name = "回水温度目标值波动值")
    private BigDecimal returnWaterTemperatureFluctuating;

    @ApiModelProperty(value = "供回水平均温度目标值")
    @Excel(name = "供回水平均温度目标值")
    private BigDecimal farReturnTemperature;

    @ApiModelProperty(value = "供回水平均温度目标值波动值")
    @Excel(name = "供回水平均温度目标值波动值")
    private BigDecimal farReturnTemperatureFluctuating;

    @ApiModelProperty(value = "室内温度目标值")
    @Excel(name = "室内温度目标值")
    private BigDecimal targetRoomTemperature;

    @ApiModelProperty(value = "室内温度目标值波动值")
    @Excel(name = "室内温度目标值波动值")
    private BigDecimal targetRoomTemperatureFluctuating;

    @ApiModelProperty(value = "流量目标值")
    @Excel(name = "流量目标值")
    private BigDecimal velocityFlow;

    @ApiModelProperty(value = "流量目标值波动值")
    @Excel(name = "流量目标值波动值")
    private BigDecimal velocityFlowFluctuating;

    @ApiModelProperty(value = "热量目标值")
    @Excel(name = "热量目标值")
    private BigDecimal heat;

    @ApiModelProperty(value = "热量目标值波动值")
    @Excel(name = "热量目标值波动值")
    private BigDecimal heatFluctuating;

}
